package com.qf.realm;

import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.subject.PrincipalCollection;

//
// * 自定义Realm类
//         * 1. 获取数据库中的用户名密码 : 根据用户名, 到mysql数据库的用户表中查询数据库中的用户名密码, 交给SecurityManager核心对象
//         * 2. 授权 : 如果用户名密码正确, 赋予用户对应的角色和权限
public class MyUserRealm extends AuthorizingRealm {
    /**
     * 授权方法：用户名、密码校验成功后自动执行这个方法进行用户授权，赋予用户对应的角色和权限
     * @param principalCollection
     * @return
     */
    @Override
    protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
        return null;
    }

    /**
     *    认证方法：从mysql中，根据用户名，获取user表中的用户对象，交给shiro框架的SecurityManager核心管理
     * @param authenticationToken
     * @return
     * @throws AuthenticationException
     */
    @Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
        return null;
    }
}
